chore: require Symfony ^7.4 across all components#8397
Merged
Conversation
Symfony 7.4 is the new LTS; bump every symfony/* floor to ^7.4 (|| ^8.0) across all components and drop 6.4 / 7.0-7.3 support. Also bump the extra.symfony.require declaration in each composer.json to ^7.4 || ^8.0 to stay consistent with the new floor (read by flex in CI). Cleanups the floor unblocks: - ParameterValidatorProvider: drop the getConstraint()/getCause() method_exists shims (guaranteed on ConstraintViolationInterface >= 7.2) - OperationRequestInitiatorTrait: drop a stale TODO
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Symfony 7.4 is the new LTS. This bumps every
symfony/*version floor to^7.4 || ^8.0across all components and drops support for Symfony 6.4 / 7.0–7.3 on the 4.4 branch.What changed
1. composer.json floor bump (all 22 files)
Every
symfony/<component>floor inrequire/require-devis now^7.4 || ^8.0, and theextra.symfony.requiredeclaration in each file is bumped to the same value (read by Flex in CI, including theprefer-lowestjob).Deliberately left untouched:
conflictentries (upper-bound exclusions, not floors):symfony/framework-bundle: "6.4.6 || 7.0.6",symfony/object-mapper: "<7.3.4",symfony/var-exporter: "<6.1.1",symfony/http-client: "<6.4".symfony/*-contracts(^3.x) andsymfony/polyfill-*— kept.symfony/serializeris^7.4.9 || ^8.0.9(not bare^7.4): the.9patch floor preserves theCOLLECT_DENORMALIZATION_ERRORS/setAttributeValuecontract backport ([Serializer] Move type-mismatch and uninitialized-property handling into concrete normalizers symfony/symfony#64067) that shipped into the already-released 7.4.x / 8.0.x lines. Only the now-unsupported 6.4 branch was dropped.2. CI matrix
No workflow change required.
phpunit-symfony-lowestresolves viacomposer update --prefer-lowestagainst the new floors;phpunit-symfony-next/-edgealready target dev / 8.1. No hardcodedSYMFONY_REQUIREor 6.4/7.0–7.3 matrix pin exists in.github/.3. Cleanups unblocked by the floor
ParameterValidatorProvider: dropped thegetConstraint()/getCause()method_existsshims (guaranteed onConstraintViolationInterfacesince 7.2) and their@phpstan-ignore-linecomments.OperationRequestInitiatorTrait: removed a staleTODOdocblock.Follow-up (out of scope here)
Two
method_exists(Request::class, 'getContentTypeFormat')shims could now be simplified but are left for a separate PR:src/GraphQl/Action/EntrypointAction.php:103src/Serializer/SerializerContextBuilder.php:109CS Fixer / PHPStan deferred to CI (no local vendor install available in this environment).